/*  ----------------------------------------------------------------------------
 *  Arello Mobile
 *  Fast 3d Engine
 *  ----------------------------------------------------------------------------
 * Except where otherwise noted, this work is licensed under
 * http://creativecommons.org/licenses/by/3.0
 */
#pragma once

#include "Resource.h"
#include <filesystem/String.hpp>
#include <filesystem/Finder.h>
#include <logs/Log.h>

namespace liba {
namespace resource {

class Manager
{
public:
	class Creator :
		virtual public logs::Creator
	{
	public:
		Creator();
#ifdef ANDROID_NDK
		Creator(const std::string & filename);
#else
		Creator(const std::string & password);
#endif
		~Creator();
	};
	static Resource * create_resource(const filesystem::String & name);
#ifdef IPHONE_VERSION
	static Resource * create_resource_from_documents(const filesystem::String & name);
#endif
	static bool find(filesystem::Finder * finder, const filesystem::String & base_path);
private:
	static Resource * create_resource_impl(const filesystem::String & name);
};

} // namespace resource
} // namespace liba

using namespace liba;

